home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
zbpc_460.zip
/
UTILITY.EXE
/
WRITE123.BAS
< prev
Wrap
BASIC Source File
|
1991-06-07
|
2KB
|
46 lines
OPEN"R",1,"TEST.WKS"
String$="Test":Column%=0:Line%=1:GOSUB"Write String"
Value%=12345:Column%=1:Line%=1:GOSUB"Write Integer"
Value#=4690:Column%=2:Line%=1:GOSUB"Write Number"
GOSUB"Write End Of File"
END
"Write Header"
X$=CHR$(0)+CHR$(0)+CHR$(2)+CHR$(0)+CHR$(4)+CHR$(4):WRITE#1,X$;6
RETURN
REM Change the final CHR$(4) above to 5 for Symphony, 6 for WK1 files
REM To do the various subroutines below, set the Column in Column%,
REM set the Row in Line%, and set the value in String$, Value% (for
REM integer) or Value# (for other numbers)
"Write String"
"Trim"
X$=RIGHT$(String$,1):IFX$=" "String$=LEFT$(String$,(LEN(String$)-1)):GOTO"Trim"
X=LEN(String$)+7:X$=CHR$(&H0F)+CHR$(0)+CHR$(X)
Line2%=Line%/256:Line1%=Line%MOD256
Y$=CHR$(0)+CHR$(&H7F)+CHR$(Column%)+CHR$(0)+CHR$(Line1%)+CHR$(Line2%)+CHR$(&H27)
FORX=1TOLEN(String$):Z$=MID$(String$,X,1):Y=ASC(Z$):Y$=Y$+CHR$(Y):NEXT
Z$=CHR$(0)
WRITE#1,X$;LEN(X$),Y$;LEN(Y$),Z$;LEN(Z$):RETURN
"Write Integer"
Line2%=Line%/256:Line1%=Line%MOD256
X$=CHR$(13)+CHR$(0)+CHR$(7)+CHR$(0)+CHR$(&H7F)+CHR$(Column%)
Y$=CHR$(0)+CHR$(Line1%)+CHR$(Line2%)
WRITE#1,X$;LEN(X$),Y$;LEN(Y$),Value%:RETURN
"Write Number"
Line2%=Line%/256:Line1%=Line%MOD256
DecimalPlaces%=2
REM Change the (0)'s to 32 for currency or 48 for percentage instead of numbers
X$=CHR$(14)+CHR$(0)+CHR$(13)+CHR$(0)+CHR$(DecimalPlaces%)
X$=X$+CHR$(Column%)+CHR$(0)+CHR$(Line1%)+CHR$(Line2%)
WRITE#1,X$;LEN(X$),Value#:RETURN
"Write End Of File"
X$=CHR$(1)+CHR$(0):WRITE#1,X$;2:CLOSE:RETURN